#include <iostream>
using std::cout;
using std::endl;

//函数模板与普通函数重载
template <class T1, class T2>
T1 add(T1 t1, T2 t2)
{
    cout << "T1,T2" << endl;
    return t1 + t2;
}

short add(short x,short y){
    cout << "short add(short,short)" << endl;
    return x + y;
}

void test0(){
    short s1 = 7, s2 = 8;
    //可以调用函数模板
    //T1和T2推导出的结果——参数类型可以相同
    //当普通函数和函数模板重载时
    //优先使用普通函数，因为效率更高（更直接）
    cout << add(s1,s2) << endl;
}

int main(void){
    test0();
    return 0;
}
